package com.cisdi.info.simple.entity.organization;

import com.cisdi.info.simple.entity.base.*;
import javax.persistence.*;
import java.io.Serializable;
import com.cisdi.info.simple.annotation.DColumn;
import com.cisdi.info.simple.annotation.DEntity;

import java.util.Date;
import com.cisdi.info.simple.entity.organization.Organization;
import java.util.List;

@DEntity(label="测试表单",comment="",moduleLabel="组织机构")
@Entity(name="simple_test_employee")
public class TestEmployee extends BaseEntity implements Serializable{
	private static final long serialVersionUID = 1L;

	@DColumn(index=3,label="员工姓名",comment="名称")
	@Column(name="staff_name",length=20,nullable=false,unique=false)
	private String staffName;

	@DColumn(index=4,label="身份证号",comment="身份证号")
	@Column(name="staff_id_number",length=250,nullable=false,unique=true)
	private String staffIdNumber;

	@DColumn(index=5,label="年龄",comment="年龄")
	@Column(name="staff_age",length=250,nullable=true,unique=false)
	private Integer staffAge;

	@DColumn(index=6,label="薪水",comment="薪水")
	@Column(name="salary",length=250,nullable=true,unique=false)
	private Double salary;

	@DColumn(index=7,label="分数",comment="分数")
	@Column(name="score",length=250,nullable=true,unique=false)
	private Long score;

	@DColumn(index=8,label="入职日期",comment="入职的时间")
	@Column(name="date_of_join",length=250,nullable=true,unique=false)
	private Date dateOfJoin;

	@DColumn(index=9,label="单位",foreignEntity="Organization",comment="所属单位")
	@Column(name="organization_id",length=250,nullable=true,unique=false)
	private Long organizationId;

	@Transient
	private Organization organization;

	@Transient
	@DColumn(index=9,label="单位",foreignEntity="Organization",comment="所属单位")
	private String organizationName;

	@Transient
	private List<Organization> clients;

	@DColumn(index=11,label="性别",codeTable="Gender",comment="性别")
	@Column(name="gender",length=250,nullable=true,unique=false)
	private String gender;

	@DColumn(index=12,label="是否有效",comment="是否有效")
	@Column(name="enabled",length=250,nullable=true,unique=false)
	private Boolean enabled;


	public String getStaffName() {
		return this.staffName;
	}

	public void setStaffName(String staffName) {
		this.staffName = staffName;
	}

	public String getStaffIdNumber() {
		return this.staffIdNumber;
	}

	public void setStaffIdNumber(String staffIdNumber) {
		this.staffIdNumber = staffIdNumber;
	}

	public Integer getStaffAge() {
		return this.staffAge;
	}

	public void setStaffAge(Integer staffAge) {
		this.staffAge = staffAge;
	}

	public Double getSalary() {
		return this.salary;
	}

	public void setSalary(Double salary) {
		this.salary = salary;
	}

	public Long getScore() {
		return this.score;
	}

	public void setScore(Long score) {
		this.score = score;
	}

	public Date getDateOfJoin() {
		return this.dateOfJoin;
	}

	public void setDateOfJoin(Date dateOfJoin) {
		this.dateOfJoin = dateOfJoin;
	}

	public Long getOrganizationId() {
		return this.organizationId;
	}

	public void setOrganizationId(Long organizationId) {
		this.organizationId = organizationId;
	}

	public List<Organization> getClients() {
		return this.clients;
	}

	public void setClients(List<Organization> clients) {
		this.clients = clients;
	}

	public String getGender() {
		return this.gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public Boolean getEnabled() {
		return this.enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Organization getOrganization() {
		return this.organization;
	}

	public void setOrganization(Organization organization) {
		this.organization = organization;
	}

	public String getOrganizationName() {
		return this.organizationName;
	}

	public void setOrganizationName(String organizationName) {
		this.organizationName = organizationName;
	}


	
}